package com.linghang.back.service;

import com.linghang.back.dto.*;
import com.linghang.back.entity.User;

public interface UserService {
    
    /**
     * 发送验证码
     * @param request 验证码请求
     * @return 生成的验证码
     */
    String sendVerifyCode(VerifyCodeRequest request);
    
    /**
     * 注册用户
     * @param request 注册请求
     * @return 用户信息
     */
    UserResponse register(RegisterRequest request);
    
    /**
     * 验证码登录
     * @param request 登录请求
     * @return 用户信息
     */
    UserResponse login(LoginRequest request);
    
    /**
     * 根据ID获取用户信息
     * @param userId 用户ID
     * @return 用户信息
     */
    UserResponse getUserInfo(Long userId);
    
    /**
     * 生成用户邀请码
     * @param userId 用户ID
     * @return 邀请码
     */
    String generateInviteCode(Long userId);
    
    /**
     * 使用邀请码创建邀请关系
     * @param userId 被邀请用户ID
     * @param inviteCode 邀请码
     * @return 是否成功
     */
    boolean bindInviter(Long userId, String inviteCode);
} 